//建立数据库连接
/*
 1.安装sequelize :类似于webform的sqlherper
 2.安装驱动(pg  pg-hstore) 给sequelize使用的工具 
*/
const { Sequelize, Model, DataTypes } = require('sequelize');
/*
要连接到数据库，您必须创建一个 Sequelize 实例。
这可以通过将连接参数单独传递给 Sequelize 构造函数
或通过传递单个连接 URI 来完成：
*/
//这里选择 单独传参（进入demoone 数据库）
const sequelize = new Sequelize('demoone', 'postgres', '123', {
    host: 'zyfyyds.top',
    dialect: 'postgres'
});

//定义模型（创建User表）(有两种方法，一种是通过define方法，一种是继承模型init 之前删除的就是init 因为一般用define)
const User = sequelize.define('User', {
    // Model attributes are defined here
    firstName: {
        type: DataTypes.STRING,
        allowNull: false
    },
    lastName: {
        type: DataTypes.STRING
            // allowNull defaults to true 
    }
}, {
    // Other model options go here
});

// `sequelize.define` also returns the model
console.log(User === sequelize.models.User); // true
// 把定义的User表模型添加进远程postgres中demoone数据库中（有三种方法：1.不存在就添加，2.存在先删除再添加，3对比，不一样的替换）
User.sync({ force: true });



// 测试数据库(使用该.authenticate()功能测试连接是否正常) 一定一定要开放5432的端口号
(async() => {
    try {
        await sequelize.authenticate();
        console.log('连接成功');
    } catch (error) {
        console.log(111111111);
        console.error('连接失败', error);
    }
})();